﻿using System;
using System.IO.MemoryMappedFiles;
using System.Windows.Markup;

namespace _04_witch基本输出
{
    class Program
    {
        static void Main(string[] args)
        {

        //选人名();
        数值类型判断();


        /*
        left:
            Console.WriteLine("你按了左方向键。");
            Console.ReadLine();
            return;

        right:
            Console.WriteLine("你按了右方向 键");
            Console.ReadLine();
            return;

            var keyinfo = Console.ReadKey(true);

            if (keyinfo.Key==ConsoleKey.LeftArrow)
            {
                goto left;
            }
            */

        }


        static void 选人名()
        {

            Console.WriteLine("请问，以下哪位历史人物生活在唐朝？");
            Console.WriteLine("1、蔡巢");
            Console.WriteLine("2、唐寅");
            Console.WriteLine("3、王勃");
            Console.WriteLine("4、苏轼");
            string input = Console.ReadLine();

            switch (input)
            {
                case "1":
                    Console.WriteLine("蔡巢生活在东汉时期。");
                    break;
                case "2":
                    Console.WriteLine("唐寅生活在明代。");
                    break;
                case "3":
                    Console.WriteLine("恭喜你，答对了。");
                    break;
                case "4":
                    Console.WriteLine("苏轼生活在北宋时期");
                    break;
                case "巢":
                    Console.WriteLine("这巢先生是生活在东汉");
                    break;
                default:
                    Console.WriteLine("大哥你没做出选择呢。");
                    break;

            }

        }

        static void 数值类型判断()
        {
            object obj = 0.0001d;
            switch (obj)
            {
                case int v:
                    Console.WriteLine($"{v}是一个int值。");
                    break;
                case decimal v:
                    Console.WriteLine($"{v}是一个 decimal值");
                    break;
                case double v:
                    Console.WriteLine($"{v}是一个 double值。");
                    break;
                case string v:
                    Console.WriteLine($"{v}是一个 string值。");
                    break;
                default:
                    Console.WriteLine("未知类型。");
                    break;

            }
        }

        static void swithch中的when使用(object 插入值)
        {
            switch (插入值)
            {
                case null:
                    Console.WriteLine("对象未实例化。");
                    break;
                case Array arr when arr.Length == 0:
                    Console.WriteLine("这是一个空数组");
                    break;
                case Array arr:
                    Console.WriteLine($"数组中包含{arr.Length}个元素。");
                    break;
                default:
                    Console.WriteLine("无输出。");
                    break;
            }
        }
    }
}
